Getting Started
This guide covers the setup shared by drilling and completion frontend apps. At the end, you will have a generated Corva app running locally and can continue with the segment-specific guide.
Before you begin
You need:
- Access to Corva and the Dev Center.
- Node.js 24.15.0, which is required by the current
@corva/create-apprelease. - Git and an editor such as Visual Studio Code or Cursor.
- Basic familiarity with React and a terminal.
Verify Node before scaffolding:
node --version
# v24.15.0
The published package documents a global CLI installation:
npm install --global @corva/create-app@latest
If you prefer not to keep the CLI globally, use the npx form shown below. The generated app can use npm or Yarn; Yarn does not need to be installed unless you select it as the package manager.
1. Choose your segment
The segment controls the starter code and the assets supplied by Corva.
| Choose | When the app is about | Assets available to the app |
|---|---|---|
drilling | Drilling operations | rig and well |
completion | Frac, wireline, pumpdown, or other completion operations | fracFleet, well, and/or wells |
Changing the segment later affects more than navigation or categorization. Choose the operational model the app will actually use.
2. Register the app in Dev Center
- Sign in to Corva.
- Open Dev Center and select Add New App.
- Choose Front End.
- Enter the customer-facing name and description.
- Select Drilling or Completion and the most relevant category.
- Copy the scaffolding command shown by the wizard.
The wizard-generated command contains the registered app key. Keep that value unchanged so local packages and uploaded versions belong to the correct app.
3. Scaffold the project
Run the command from the parent directory where you want the project created. Current CLI syntax follows this shape:
npx @corva/create-app@latest create my-frontend-app \
--appName "My Frontend App" \
--appKey "my-company.my-frontend-app.ui" \
--appType ui \
--segments drilling \
--category analytics \
--runtime ui \
--packageManager npm \
--useTypescript true
Use the exact app name, key, segment, and category generated by your Dev Center wizard. Replace drilling with completion only when creating a completion app.
The generated project already includes:
@corva/uiand its standard app components.- A drilling- or completion-specific
src/Appstarter. AppSettings, tests, linting, build, ZIP, and release scripts.- Corva UI MCP configuration for supported AI coding tools.
4. Configure the local hostname
Add the following entry to your computer's hosts file:
127.0.0.1 app.local.corva.ai
The file is /etc/hosts on macOS and Linux, and C:\Windows\System32\drivers\etc\hosts on Windows. Administrator access is required to save it.
See Local Hostname Setup for operating-system-specific steps.
5. Run the app
The scaffolder installs dependencies unless you pass --no-dependencies-install.
cd my-frontend-app
npm start
For a Yarn project, run yarn start. The development server opens:
http://app.local.corva.ai:8080
Saved changes reload automatically. If the page does not open, verify the hosts entry and confirm that port 8080 is available.
6. Know the files you will edit
| File | Purpose |
|---|---|
src/App.tsx or src/App.js | Root UI and segment assets |
src/AppSettings.tsx or src/AppSettings.js | Customer-configurable app settings |
src/index.js | Exports the app and settings entrypoints; keep its shape intact |
manifest.json | App identity, segment, initial size, and platform behavior |
src/App.scss | App-specific styles |
src/__tests__/ | Tests for the app and settings |
The generated App uses AppContainer and AppHeader from @corva/ui/componentsV2. Keep AppContainer at the top of the app so Corva UI components can use the correct containment and fullscreen behavior.
7. Continue with your segment
- Build a Drilling UI App to work with a rig and well.
- Build a Completion UI App to work with a frac fleet, pad, and wells.
Package and release
When the app is ready:
npm test
npm run build
npm run zip
npm run release
Use the corresponding yarn commands in a Yarn project. zip creates an uploadable package; release publishes a new version through the Corva CLI flow.
Start from the versions generated by the current CLI. Do not copy dependency versions from an older app or hard-code versions from this documentation.